#ifndef __CONFIG_H__
#define __CONFIG_H__

// L1 cache configuration variables
extern int L1_block_size;
extern int L1_cache_size;
extern int L1_assoc;
extern int L1_hit_time;
extern int L1_miss_time;

// L2 cache configuration variables
extern int L2_block_size;
extern int L2_cache_size;
extern int L2_assoc;
extern int L2_hit_time;
extern int L2_miss_time;
extern int L2_transfer_time;
extern int L2_bus_width;

// Main memory configuration values
extern int mem_sendaddr;
extern int mem_ready;
extern int mem_chunktime;
extern int mem_chunksize;


static int configHandler(void* user, const char* section, const char* name, const char* value);

int readConfigFile(char* filename);
void printConfig(void);

#endif // __CONFIG_H__
